package com.ctms.system.dao;

import com.ctms.system.domain.CourseStudentDO;
import com.ctms.system.domain.EvaluationDO;
import com.ctms.system.domain.UserCourseDo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface EvaluationMapper {
    //列表展示学生需要进行评价的教师及课程
    List<UserCourseDo> selectAllTeaEvaluation(Map<String,Object> params);
    int countTea(Map<String,Object> params);

    //通过id查询user_course表信息
    UserCourseDo selectById(Integer Id);

    //增加学生对教师的评价记录
    int insertStuToTea(EvaluationDO evaluationDO);

    //评价成功后将user_course表的flag置为1
    int updateFlagById(UserCourseDo userCourseDo);
    //评价成功后将course_student表的flag置为1
    int updateFlagBySid(CourseStudentDO courseStudentDO);

    //列表展示教师需要进行评价的学生
    List<CourseStudentDO> selectAllStuEvaluation(Map<String,Object> params);
    int countStu(Map<String,Object> params);

    //学生反馈意见列表
    List<CourseStudentDO> selectStuFeedback(Map<String,Object> params);
    int countStuFeedback(Map<String,Object> params);

    //通过评价人和被评价人查找评价记录
    EvaluationDO selectByUserId(@Param("evaluationPeople")Integer evaluationPeople, @Param("beEvaluationPeople")Integer beEvaluationPeople);

    //教师反馈意见列表
    List<UserCourseDo> selectTeaFeedback(Map<String,Object> params);
    int countTeaFeedback(Map<String,Object> params);

    //通过id查询user_course信息
    UserCourseDo selectUserCourseById(Integer id);
}
